package unit03.day02;

public class ObjectDemo1 {
	private int x;
	private int y;
	//右键---源码---生成get和set
	public int getX() {
		return x;
	}
	public void setX(int x) {
		this.x = x;
	}
	public int getY() {
		return y;
	}
	public void setY(int y) {
		this.y = y;
	}
	
	public ObjectDemo1() {
		
	}
	public ObjectDemo1(int x,int y) {
		this.x = x;
		this.y = y;
		
	}
	
	public String toString() {		//重写父类toString方法，Object自身的toString方法返回的是类名@地址
		return "("+x+"+"+y+")";
	}
	/**
	 * 通常，当我们需要使用一个类的equals方法时，就应当重写它。
	 * equals方法的作用是比较当前对象和给定对象内容是否一样(长得像不像).
	 * Object提供的equals方法内部就是用"=="实现的所以没有意义.
	 * equals比较时不一定要求所有属性值都要相同，这要结合实际需求而定.
	 * 只有自己定义的类需要重写，JAVA API提供的基本类型本身都重写了equals
	 * */
	public boolean equals(Object obj) {
		if(obj == null) {
			return false;
		}
		if(obj == this) {
			return true;
		}
		if(obj instanceof ObjectDemo1) {
			ObjectDemo1 obj1 = (ObjectDemo1)obj;
			return this.x==obj1.x&&this.y==obj1.y;
		}
		return false;
	}
}
